package cn.tedu.mall.book.service;

import cn.tedu.mall.book.entity.Consignee;
import cn.tedu.mall.book.pojo.dto.ConsigneeDTO;
import cn.tedu.mall.book.pojo.vo.ConsigneeVO;

import java.util.List;

/**
 * 收货人功能业务逻辑层接口
 * @author zxjun
 * @date 2022/6/30 8:39
 */
public interface IConsigneeService {
    /**
     * 新增收货人
     * @param consigneeDTO
     * @return
     */
    void addNew(ConsigneeDTO consigneeDTO);

    /**
     * 修改收货人信息
     * @param consigneeDTO
     * @return
     */
    void updateById(ConsigneeDTO consigneeDTO);

    /**
     * 根据用户选择切换为该收货人信息
     * @param id
     * @return
     */
    void updateIsDisplayById(Integer id);


    /**
     * 根据id删除收货人信息
     * @param id
     * @return
     */
    void deleteById(Integer id);

    /**
     * 根据id获取收货人信息
     * @return
     */
    ConsigneeVO getById(Integer id);

    /**
     * 获取要显示的收货人信息
     * @return
     */
    ConsigneeVO getDisplay();

    /**
     * 获取所有收货人信息
     * @return
     */
    List<ConsigneeVO> getList();
}
